A FPGA (Field Programmable Gate Array) can reduce a development period of an LSI chip because the user can rewrite a circuit of the chip to a desired circuit after the chip is manufactured/shipped.
The FPGA is a circuit including, for example, a plurality of logic gates based on a lookup table (LUT) and a plurality of switch to switch connection between logic gates.
The FPGA includes a configuration memory to control connection relationships between the LUT and the switch. The FPGA can configure any circuit by information stored in the memory being rewritten.
An SRAM (Static Random Access Memory) is generally used as the configuration memory.
The SRAM is a volatile memory and thus, when the supply of power supply voltage is stopped, stored data is lost. Therefore, after being turned on again, it is necessary for the configuration memory using the SRAM to reacquire and rewrite memory information. A 1-bit memory cell of an SRAM is formed of six field-effect transistors. Thus, the memory cell of an SRAM has a large cell size.
Therefore, development of a programmable switch whose circuit size (cell size) is small with a configuration memory using a nonvolatile memory element is promoted.